Computer systems and programs contain vulnerabilities. A common metric is the number of bugs over lines of code (LOC). The more complex the software, the more opportunity for vulnerabilities. Because smart phones and computers are becoming ever more complex, technology systems are becoming more and more vulnerable. One major problem that faces technology today is the level of security due to the level of privilege for certain calls and functions. Traditionally, the kernel space was the highest level of privilege in a computer system. However, many applications today require a level of privilege higher than the kernel space can provide in order to provide better security. Solutions to this have been to provide more improved and modern hardware upgrades or implementing optional CPU/hardware extensions, which provide computer systems with separate hardware security domains. However, buying new devices is costly and retrofitting old devices with new hardware can be just as costly, if not more. There is no current solution for older devices to enjoy separate security domains without additional hardware. Thus, there is a need for a mechanism for the secure establishment of an additional security domain within kernel-space without the use of optional CPU/hardware extensions.